Matthias Clasen [Mon, 26 Oct 2020 17:21:28 +0000 (13:21 -0400)]
popovermenu: Allow adding custom items in ui files
Support <child type="ID"> to fill custom child slots
in both GtkPopoverMenus and GtkPopoverMenuBars that
are created in ui files.
Matthias Clasen [Tue, 20 Oct 2020 18:26:45 +0000 (14:26 -0400)]
popovermenu: Allow custom items
Add a way to add children at certain places in
the generated menu for both GtkPopoverMenu and
GtkPopoverMenuBar.
New apis:
gtk_popover_menu_add_child
gtk_popover_menu_remove_child
gtk_popover_menu_bar_add_child
gtk_popover_menu_bar_remove_child
Fixes: #3260
Matthias Clasen [Mon, 26 Oct 2020 20:09:30 +0000 (20:09 +0000)]
Merge branch 'master' into 'master'
Fix the build with cups < 2.2.12
Closes #2968
See merge request GNOME/gtk!2744
Thomas Lange [Sat, 24 Oct 2020 11:16:40 +0000 (13:16 +0200)]
Fix the build with cups < 2.2.12
PPD_CUSTOM_UNKNOWN was introduced in cups 2.3.
and has been backported to 2.2.12.
Only handle it when we build against a new enough cups.
Fixes: #2968
Matthias Clasen [Mon, 26 Oct 2020 05:28:43 +0000 (05:28 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2741
Matthias Clasen [Mon, 26 Oct 2020 05:07:54 +0000 (01:07 -0400)]
docs: Add GtkDrawingArea to the gallery
Matthias Clasen [Mon, 26 Oct 2020 04:56:28 +0000 (00:56 -0400)]
docs: Add GtkShortcutsWindow to the widget gallery
Matthias Clasen [Mon, 26 Oct 2020 04:30:24 +0000 (00:30 -0400)]
docs: Add GtkPopoverMenu to the widget gallery
Matthias Clasen [Mon, 26 Oct 2020 04:09:55 +0000 (00:09 -0400)]
docs: Add GtkPopover to the widget gallery
Matthias Clasen [Mon, 26 Oct 2020 03:57:12 +0000 (23:57 -0400)]
docs: Add GtkPopoverMenuBar to the gallery
Matthias Clasen [Mon, 26 Oct 2020 03:31:20 +0000 (23:31 -0400)]
docs: Add GtkExpander to the gallery
Matthias Clasen [Mon, 26 Oct 2020 03:18:51 +0000 (23:18 -0400)]
docs: Add GtkEmojiChooser to the gallery
To make this possible enable the doc shooter
to take screenshots of popovers.
Matthias Clasen [Mon, 26 Oct 2020 02:54:53 +0000 (22:54 -0400)]
docs: Redo the GtkColorChooserDialog gallery image
Show the new palette.
Matthias Clasen [Mon, 26 Oct 2020 02:52:17 +0000 (22:52 -0400)]
docs: Improve the GtkStackSidebar gallery image
Matthias Clasen [Mon, 26 Oct 2020 02:46:30 +0000 (22:46 -0400)]
docs: Tweak gallery layout
Now that the volume button image is small, move it
to a better place in its section. Improves the layout.
Matthias Clasen [Mon, 26 Oct 2020 02:42:40 +0000 (22:42 -0400)]
docs: Fix the GtkVolumeButton gallery image
Give up on showing the popup, we don't do that
for other buttons either.
Matthias Clasen [Mon, 26 Oct 2020 02:32:27 +0000 (22:32 -0400)]
docs: Add GtkCalendar to the gallery
It has been missing far too long.
Matthias Clasen [Mon, 26 Oct 2020 02:26:19 +0000 (22:26 -0400)]
docs: Improve the GtkMediaControls gallery image
Matthias Clasen [Mon, 26 Oct 2020 02:17:15 +0000 (22:17 -0400)]
docs: Improve the GtkVideo gallery image
Matthias Clasen [Mon, 26 Oct 2020 02:16:26 +0000 (22:16 -0400)]
docs: Tweak gallery layout
Improve the breaks in the container section.
Matthias Clasen [Mon, 26 Oct 2020 01:52:51 +0000 (21:52 -0400)]
docs: Shrink the editable label gallery image
Makes it fit better with the other entries.
Matthias Clasen [Mon, 26 Oct 2020 01:47:40 +0000 (21:47 -0400)]
docs: Some reordering in the gallery
Align things better.
Matthias Clasen [Mon, 26 Oct 2020 01:28:26 +0000 (21:28 -0400)]
docs: Work around GtkPicture growing
Make the GtkPicture gallery image stay within its
limits, by overpowering its request mode.
Matthias Clasen [Mon, 26 Oct 2020 01:10:12 +0000 (21:10 -0400)]
docs: Tweak gallery ordering
Move GtkSpinButton to the entries, where it
belongs, despite its name.
Matthias Clasen [Mon, 26 Oct 2020 01:07:12 +0000 (21:07 -0400)]
docs: Fix links from the gallery
It turns out gtk-doc can't even parse its own custom
links if you don't arrange for the <link> element to
on a single line, since it is just a glorified sed
script :(
Matthias Clasen [Mon, 26 Oct 2020 01:05:10 +0000 (21:05 -0400)]
docs: Add GtkWindowControls to the gallery
Matthias Clasen [Sun, 25 Oct 2020 23:29:00 +0000 (19:29 -0400)]
a11y: Add more tests
Test some of the attributes that GTK maintains
for every widget.
Piotr Drąg [Sun, 25 Oct 2020 09:37:47 +0000 (10:37 +0100)]
Update Polish translation
Matthias Clasen [Sun, 25 Oct 2020 04:29:30 +0000 (00:29 -0400)]
scale: Set round-digits to -1 initially
This ensures that keybindings for small-step changes
work despite draw-value being FALSE now. This was
fallout from
8ca612c9664bf6f8ae7fe that showed up
as arrow keys not working anymore for the color scales
in the color chooser.
Matthias Clasen [Sun, 25 Oct 2020 00:57:54 +0000 (20:57 -0400)]
Cosmetics
Remove some comments that refer to no longer
existing menu code.
Matthias Clasen [Sun, 25 Oct 2020 01:10:01 +0000 (01:10 +0000)]
Merge branch 'meson-deps-continued' into 'master'
Turn more options into "feature"
See merge request GNOME/gtk!2708
Matthias Clasen [Sat, 24 Oct 2020 12:53:01 +0000 (12:53 +0000)]
Merge branch 'flush-events' into 'master'
Flush events
See merge request GNOME/gtk!2740
Matthias Clasen [Fri, 23 Oct 2020 21:03:00 +0000 (17:03 -0400)]
gdk: Deliver queued events on flush
The current code was marking queued events as flushed,
but left them in the queue. That doesn't make sense to
me - we should deliver all events we have before we
reach the paint phase of the frame cycle.
Matthias Clasen [Fri, 23 Oct 2020 19:07:25 +0000 (15:07 -0400)]
NEWS: Updates
Matthias Clasen [Fri, 23 Oct 2020 17:25:33 +0000 (17:25 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3226
See merge request GNOME/gtk!2739
Matthias Clasen [Fri, 23 Oct 2020 16:27:55 +0000 (12:27 -0400)]
editablelabel: Properly clean up in dispose
Unparenting the stack finalizes the entry and label,
but at least the label is available via the
gtk_editable_get_delegate API, and the a11y
implementation uses that at dispose time. So, clear
the pointers to prevent them from being dangling.
This was showing up as a segfault of the doc-shooter.
Matthias Clasen [Fri, 23 Oct 2020 16:19:31 +0000 (12:19 -0400)]
Give all search entries an icon
This was first requested for the search entry in
GtkDropDown, but it is better to be consistent and
give every search entry an icon.
Related: #3291
Matthias Clasen [Fri, 23 Oct 2020 15:51:02 +0000 (11:51 -0400)]
window: Fix state updates
When the compositor unmaximized the window, we get a
state-changed signal, and we update the maximized field.
But then we go and recompute our layout based on the
maximize_initially field, and that is still TRUE, when
we were maximized initially. So we need to update both
fields.
This fixes a problem where using the window menu to
unmaximize an initially maximized window would not
work.
Fixes: #3226
Matthias Clasen [Fri, 23 Oct 2020 01:45:22 +0000 (01:45 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2737
Matthias Clasen [Thu, 22 Oct 2020 23:59:21 +0000 (19:59 -0400)]
Tweak focus tests
These tests are a bit fragile because the initial focus
that is taken depends on what ends up in the center of
the window, horizontally or vertically, which depends
on things like fonts, or theme spacing.
This commit makes some tweaks to push things in the
widget-factory example around far enough to make the
tests work again.
We should figure out a way to make this more robust.
Matthias Clasen [Thu, 22 Oct 2020 22:53:34 +0000 (22:53 +0000)]
Merge branch 'ebassi/for-master' into 'master'
Ebassi/for master
See merge request GNOME/gtk!2735
Matthias Clasen [Thu, 22 Oct 2020 18:33:41 +0000 (14:33 -0400)]
dropdown: Add an icon the search entry
A small detail for #3291.
Matthias Clasen [Thu, 22 Oct 2020 18:27:19 +0000 (14:27 -0400)]
passwordentry: Respect border spacing
We are not using a box layout here since we want
to ignore the icons for measuring. But we still
want the layout to respect border spacing that
comes from the theme.
Matthias Clasen [Thu, 22 Oct 2020 18:26:21 +0000 (14:26 -0400)]
Adwaita: Set border-spacing for entries
When our entries contain icons, they should not run
directly into the text, so put some spacing between
the children of entries.
Matthias Clasen [Thu, 22 Oct 2020 14:52:57 +0000 (14:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2736
Emmanuele Bassi [Thu, 22 Oct 2020 12:33:49 +0000 (13:33 +0100)]
docs: Fix cross-linking for GIO types
Matthias Clasen [Thu, 22 Oct 2020 04:22:15 +0000 (00:22 -0400)]
gtk-demo: Speed up image demo
The progressive loading demo here was so slow as to appear
broken. Make it faster, and ensure that it updates regularly.
Matthias Clasen [Thu, 22 Oct 2020 04:05:50 +0000 (00:05 -0400)]
gtk-demo: Add alternative text to a GtkPicture
This lets us text GtkPicture a11y support.
Matthias Clasen [Thu, 22 Oct 2020 04:04:52 +0000 (00:04 -0400)]
picture: Set alternative text as description
Use the alternative text as accessible description
for GtkPicture.
Matthias Clasen [Thu, 22 Oct 2020 03:54:09 +0000 (23:54 -0400)]
colorbutton: Improve accessibility
Make the swatch not appear selectable, and
set an accessible label on it.
Matthias Clasen [Thu, 22 Oct 2020 03:34:37 +0000 (23:34 -0400)]
a11y: Add actions for color swatches
Add the same actions that we exported in GTK 3.
Matthias Clasen [Thu, 22 Oct 2020 03:08:04 +0000 (23:08 -0400)]
colorswatch: Export some functions for a11y
Make simple functions to activate, select or customize
a GtkColorSwatch. These will be exported by a11y as
actions.
Matthias Clasen [Thu, 22 Oct 2020 02:52:46 +0000 (02:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2734
Matthias Clasen [Thu, 22 Oct 2020 01:54:17 +0000 (21:54 -0400)]
linkbutton: Use the LINK role
It is a bit ambiguous, but I think link buttons are
more links than buttons. See WAI-ARIA for a discussion
of the differences.
Update tests to match.
Matthias Clasen [Thu, 22 Oct 2020 01:47:14 +0000 (21:47 -0400)]
a11y: Document abstract roles
Since we mention abstract roles in the documentation
for GtkAccessibleRole, we should say what roles are
abstract. Doing this shows that we actually use two
abstract roles heavily, ourselves: WIDGET and WINDOW.
Matthias Clasen [Thu, 22 Oct 2020 01:40:19 +0000 (21:40 -0400)]
a11y: Document roles used in menu
Matthias Clasen [Wed, 21 Oct 2020 23:13:03 +0000 (19:13 -0400)]
atspi: Give model buttons a click action too
GtkModelButton is no longer derived from GtkButton,
but can still treat it like a button for the purposes
of having a click action. This lets ATs activate
menu items again.
Matthias Clasen [Thu, 22 Oct 2020 00:28:30 +0000 (20:28 -0400)]
modelbutton: Recreate our AT context
When the button role changes, we want to update the
accessible role to match. Since accessible roles are
unchangeable post-creation of the AT context, we have
to cheat a bit and recreate the whole context.
Matthias Clasen [Wed, 21 Oct 2020 20:35:39 +0000 (16:35 -0400)]
modelbutton: Initial accessibility setup
Set the accessible role to GTK_ACCESSIBLE_ROLE_MENU_ITEM.
This is incomplete, we need to recreate the context when
the buttons role changes, and there are other things that
need to be set.
Matthias Clasen [Wed, 21 Oct 2020 20:34:16 +0000 (16:34 -0400)]
popovermenubar: Initial accessibility setup
Set roles, properties and relations according to the
ARIA authoring practices document. This is not quite
complete.
Matthias Clasen [Wed, 21 Oct 2020 20:30:04 +0000 (16:30 -0400)]
popovermenu: Initial accessibility setup
Set roles, properties and relations according to the
ARIA authoring practices document.
Xavier Claessens [Thu, 22 Oct 2020 00:36:23 +0000 (00:36 +0000)]
Apply 1 suggestion(s) to 1 file(s)
Matthias Clasen [Wed, 21 Oct 2020 20:27:23 +0000 (16:27 -0400)]
menubutton: initial accessibility setup
Set roles, properties and relations according to the
ARIA authoring practices document.
Matthias Clasen [Wed, 21 Oct 2020 20:35:05 +0000 (16:35 -0400)]
separator: Remove unnecessary code
gtk_widget_update_orientation already sets the
accessible property, no need to do it again.
Emmanuele Bassi [Wed, 21 Oct 2020 21:44:53 +0000 (22:44 +0100)]
Use GtkApplication in the examples
Some people read the "Getting Started" section as a series of
incremental lessons, and having the examples go from GtkApplication to
the old style "init / spin the main loop" confuses them.
We should be using GtkApplication everywhere in our examples.
Matthias Clasen [Wed, 21 Oct 2020 19:09:55 +0000 (15:09 -0400)]
progressbar: Hide internal structure from a11y
According to section 7.1 of WAI-ARIA, the progressbar role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.
Matthias Clasen [Wed, 21 Oct 2020 19:04:06 +0000 (15:04 -0400)]
levelbar: Hide internal structure from a11y
According to section 7.1 of WAI-ARIA, the meter role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.
Matthias Clasen [Wed, 21 Oct 2020 18:55:13 +0000 (14:55 -0400)]
switch: Hide internal structure from a11y
According to section 7.1 of WAI-ARIA, the switch role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree.
Matthias Clasen [Wed, 21 Oct 2020 18:53:17 +0000 (14:53 -0400)]
scale: Hide internal structure from a11y
According to section 7.1 of WAI-ARIA, the slider role
has the "Children presentational" characteristic, which
indicates that children should not be represented in
the a11y tree, which makes sense, since these are all
just internal gizmos.
Matthias Clasen [Wed, 21 Oct 2020 18:40:34 +0000 (14:40 -0400)]
a11y: Treat PRESENTATION like NONE
This is what ARIA tells us to do. NONE is just another
name for PRESENTATION.
Matthias Clasen [Wed, 21 Oct 2020 18:30:17 +0000 (14:30 -0400)]
docs: Add some more to the migration guide
Expand the section on life-cycle handling with some
more details.
Matthias Clasen [Wed, 21 Oct 2020 18:23:10 +0000 (14:23 -0400)]
docs: Small corrections to the a11y overview
The section titles were mixed up wrt to the content
of the sections.
Matthias Clasen [Wed, 21 Oct 2020 18:21:12 +0000 (14:21 -0400)]
Document GTK_ACCESSIBLE_ROLE_NONE
We use it for a specific purpose now, so document it.
Matthias Clasen [Wed, 21 Oct 2020 18:09:42 +0000 (18:09 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3285
See merge request GNOME/gtk!2733
Matthias Clasen [Wed, 21 Oct 2020 17:46:58 +0000 (13:46 -0400)]
text: React to text attribute changes in css
Recompute the layout when the css style change
affects text attributes. This matches what we do
in GtkLabel, and without this, changing the
font-features-setting css property in the Inspector
does not have immediate effect.
Carlos Garnacho [Wed, 21 Oct 2020 16:20:58 +0000 (16:20 +0000)]
Merge branch 'wip/exalm/swipe4' into 'master'
gestureswipe: Count last event when calculating velocity
See merge request GNOME/gtk!2715
Alexander Mikhaylenko [Mon, 19 Oct 2020 09:13:56 +0000 (14:13 +0500)]
gestureswipe: Count last event when calculating velocity
The last event, matching lifting the finger/releasing the mouse button,
is important when there's a large delay between it and the previous events,
as in when performing a movement, stopping, then releasing fingers as
opposed to doing a swipe.
If this event is skipped, doing this will result in kinetic deceleration
matching the previous finger movement, while the expected behavior would
be no deceleration.
See also
5dc6194b98792d937c648835cfadbe64977db443 for a similar fix in
GtkEventControllerScroll.
Matthias Clasen [Wed, 21 Oct 2020 12:39:50 +0000 (08:39 -0400)]
columnview: Put overshoot underneath the headers
This matches what we do in GtkTreeView.
Fixes: #3285
Matthias Clasen [Wed, 21 Oct 2020 12:00:09 +0000 (08:00 -0400)]
range: Hide internals from accessibility
The nameless, faceless gizmos inside a range do not
contribute to the accessible experience at all, lets
not add them to the tree. All the accessible functionality
is on the main widget (either a scale or a scrollbar).
Matthias Clasen [Wed, 21 Oct 2020 11:59:56 +0000 (07:59 -0400)]
Cosmetics
Matthias Clasen [Wed, 21 Oct 2020 03:30:35 +0000 (23:30 -0400)]
frame: Set up accessible relations
Mark the child as labelled-by the label.
Matthias Clasen [Wed, 21 Oct 2020 11:43:58 +0000 (11:43 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2729
Timm Bäder [Wed, 21 Oct 2020 08:17:45 +0000 (08:17 +0000)]
Merge branch 'wip/exalm/nullable' into 'master'
widget: Add missing (nullable) on binding functions
See merge request GNOME/gtk!2730
Alexander Mikhaylenko [Tue, 20 Oct 2020 11:26:17 +0000 (16:26 +0500)]
widget: Add missing (nullable) on binding functions
Even though they are marked as (skip), they are used in Vala and have wrong
types there atm.
Matthias Clasen [Wed, 21 Oct 2020 03:19:30 +0000 (23:19 -0400)]
docs: Document more accessible roles
Document that GtkText is skipped in accessibility.
Matthias Clasen [Wed, 21 Oct 2020 03:19:18 +0000 (23:19 -0400)]
Cosmetics
Typo fix.
Matthias Clasen [Wed, 21 Oct 2020 03:09:11 +0000 (23:09 -0400)]
docs: Document more accessible roles
GtkColumnView and its various components use a lot
of accessible roles.
Matthias Clasen [Wed, 21 Oct 2020 02:53:30 +0000 (22:53 -0400)]
docs: Document more accessible roles
GtkListView and GtkGridView were missing this as well.
Matthias Clasen [Wed, 21 Oct 2020 02:51:11 +0000 (22:51 -0400)]
docs: Document accessible roles of some classes
GtkListBox and GtkFlowBox were missing this.
Matthias Clasen [Wed, 21 Oct 2020 02:44:24 +0000 (22:44 -0400)]
a11y: Add some more tests
Matthias Clasen [Wed, 21 Oct 2020 01:56:54 +0000 (21:56 -0400)]
inspector: Show accessible object path
Show the object path of the object on the a11y bus,
this is can be useful information. While we are here,
make sure that the Inspector does not throw criticals
when used with GTK_NO_A11Y=1.
Matthias Clasen [Wed, 21 Oct 2020 01:31:23 +0000 (21:31 -0400)]
atsi: Fix emission of text selection changes
We were not emitting text-selection-changed and
text-caret-moved as expected.
Matthias Clasen [Wed, 21 Oct 2020 01:27:39 +0000 (21:27 -0400)]
a11y: Fix handling of LABELLED_BY relation
There were several places where we were confusing
GList and GSList and list->data and list->next, causing
a crash in the accessible name computation for buttons
with mnemonic labels.
Matthias Clasen [Tue, 20 Oct 2020 22:26:38 +0000 (18:26 -0400)]
docs: Mention subclassing and destroy in the migration guide
Mention changes regarding subclassing and life-cycle
handling in the migration guide.
Benjamin Otte [Tue, 20 Oct 2020 14:05:49 +0000 (14:05 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
Closes #3280
See merge request GNOME/gtk!2725
Matthias Clasen [Tue, 20 Oct 2020 05:57:45 +0000 (05:57 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Some more a11y tests
See merge request GNOME/gtk!2726
Matthias Clasen [Tue, 20 Oct 2020 05:12:20 +0000 (01:12 -0400)]
a11y: Add tests for GtkFlowBox
Test that roles, states and properties are as expected.
Matthias Clasen [Tue, 20 Oct 2020 05:07:13 +0000 (01:07 -0400)]
a11y: Add tests for GtkListBox
Test that roles, states and properties are as expected.
Matthias Clasen [Tue, 20 Oct 2020 04:46:07 +0000 (00:46 -0400)]
a11y: Add tests for GtkStack and GtkStackSwitcher
Test that the roles, states and relations are
as expected.
Matthias Clasen [Tue, 20 Oct 2020 04:24:26 +0000 (00:24 -0400)]
a11y: Add a test for label properties
Now that we set the label property, we should test it too.